## 1.8. Differences Between Linux and Other Operating Systems

It's important to understand the differences between Linux and other operating systems, such as Windows 95/98, Windows NT, OS/2, and other implementations of Unix for the personal computer. First of all, it should be made clear that Linux will coexist happily with other operating systems on the same machine: that is, you can run Windows NT and OS/2 along with Linux on the same system without problems. There are even ways to interact between the various operating systems, as you'll see.

### 1.8.1. Why Use Linux?

Why use Linux instead of a commercial operating system? We could give you a thousand reasons. One of the most important, however, is that Linux is an excellent choice for personal Unix computing. If you're a Unix software developer, why use Windows at home? Linux will allow you to develop and test Unix software on your PC, including database and X applications. If you're a student, chances are that your university computing system runs Unix. With Linux, you can run your own Unix system and tailor it to your own needs. Installing and running Linux is also an excellent way to learn Unix if you don't have access to other Unix machines.

But let's not lose perspective. Linux isn't just for personal Unix users. It's robust and complete enough to handle large tasks, as well as distributed computing needs. Many businesses are moving to Linux in lieu of other Unix-based workstation environments. Linux has an excellent price-performance ratio, is one of the most stable and powerful operating systems available, and because of its Open Source nature, is completely customizable for your needs. Universities are finding Linux to be perfect for teaching courses in operating systems design. Larger commercial software vendors are starting to realize the opportunities a free operating system can provide.

### 1.8.2. Linux Versus Windows 95 and 98

It's not uncommon to run both Linux and Windows 95/98 on the same system. Many Linux users rely on Windows for applications such as word processing and productivity tools. While Linux provides its own analogs for these applications (for example, TeX), and commercial software support for Linux is increasing, there are various reasons why a particular user would want to run Windows as well as Linux. If your entire dissertation is written using Microsoft Word, you may not be able to easily convert it to TeX or some other format (although the Star Office suite for Linux can probably do the trick). There are many commercial applications for Windows that aren't available for Linux, and there's no reason why you can't use both.

As you might know, Windows 95 and 98 do not fully utilize the functionality of the x86 processor. On the other hand, Linux runs completely in the processor's protected mode and exploits all of the features of the machine, including multiple processors.

We could debate the pros and cons of Windows and Linux for pages on end. However, suffice it to say that Linux and Windows are completely different entities. Windows is inexpensive (compared to other commercial operating systems) and has a strong foothold in the PC computing world. No other operating system for the PC has reached the level of popularity of Windows, largely because the cost of these other operating systems is unapproachable for most personal computer users. Very few PC users can imagine spending a thousand dollars or more on the operating system alone. Linux, however, is free, and you finally have the chance to decide.

We will allow you to make your own judgments of Linux and Windows based on your expectations and needs. Linux is not for everybody. But if you have always wanted to run a complete Unix system at home, without the high cost of other Unix implementations for the PC, Linux may be what you're looking for.

There are tools available to allow you to interact between Linux and Windows. For example, it's easy to access Windows files from Linux. Development is proceeding on the Wine Windows emulator, which allows you to run many popular applications.

### 1.8.3. Linux Versus Windows NT

A number of other advanced operating systems are on the rise in the PC world. Specifically, Microsoft's Windows NT is becoming very popular for server computing.

Windows NT, like Linux, is a full multitasking operating system, supporting multiprocessor machines, several CPU architectures, virtual memory, networking, security, and so on. However, the real difference between Linux and Windows NT is that Linux is a version of Unix and hence benefits from the contributions of the Unix community at large.

There are many implementations of Unix from many vendors. There is a large push in the Unix community for standardization in the form of open systems, but no single corporation controls this design. Hence, any vendor (or, as it turns out, any hacker) may implement these standards in an implementation of Unix.

Windows NT, on the other hand, is a proprietary system. The interface and design are controlled by a single corporation, Microsoft, and only that corporation may implement the design. (Don't expect to see a free version of Windows NT anytime in the near future.) In one sense, this kind of organization is beneficial: it sets a strict standard for the programming and user interface unlike that found even in the open systems community. NT is NT wherever you go.

It seems likely that in the coming years, Linux and Windows NT will be battling it out for their share of the server computing market. Windows NT has behind it the full force of the Microsoft marketing machine, while Linux has a community of thousands of developers helping to advance the system through the Open Source model. So far, benchmarks of Linux versus Windows NT have demonstrated that each system has its strengths and weaknesses; however, Linux wins hands-down in a number of areas, most notably networking performance. Linux is also much smaller than Windows NT, has a much better price-performance ratio, and is generally seen as more stable. (While Windows NT is known to crash quite often, Linux machines run continuously for months.) It might seem amazing that "little" Linux gives Microsoft serious competition, but it's not surprising when you realize how effective the Open Source development process really is.

### 1.8.4. Other Implementations of Unix

There are several other implementations of Unix for the personal computer. The Intel x86 architecture lends itself to the Unix design, and a number of vendors have taken advantage of this, including Sun (with Solaris x86), SCO, and BSDI.

In terms of features, other implementations of Unix for the PC are quite similar to Linux. You will see that almost all commercial versions of Unix support roughly the same software, programming environment, and networking features. However, there are some major differences between Linux and commercial versions of Unix. This stems primarily from Linux's roots as a "personal" Unix system, rather than one that runs only on large servers (although Linux is perfectly at home in either environment).

First of all, Linux supports a much wider range of hardware than other Unix implementations, simply because there is more demand under Linux to support every crazy brand of sound, graphics, network, and SCSI board. Plus, under the Open Source model, anyone with enough time and interest to write a driver for a particular board is able to do so. We'll cover the hardware requirements for Linux in the next section.

The most important factor to consider for many users is price. The Linux software is free if you have access to the Internet (or another computer network) and can download it. If you do not have access to such a network, you may need to purchase it via mail order on CD-ROM, and such packages often include bundled documentation and support. Of course, you may copy Linux from a friend who may already have the software or share the cost of purchasing it with someone else. If you are planning to install Linux on a large number of machines, you need only purchase a single copy of the software; Linux is not distributed with a "single machine" license.

The value of commercial Unix implementations should not be demeaned: along with the price of the software itself, you usually pay for documentation, support, and assurance of quality. These are important factors for large institutions, but personal computer users may not require these benefits. A number of companies, including Red Hat and LinuxCare, are now providing commercial Linux support. Caldera, another Linux distributor, offers 24x7 support. In any case, many businesses and universities are finding that running Linux in a lab of inexpensive personal computers is preferable to running a commercial version of Unix in a lab of workstations. Linux can provide the functionality of a workstation on PC hardware at a fraction of the cost.

There are other free or inexpensive implementations of Unix for the x86. One of the most well known is FreeBSD, an implementation and port of BSD Unix for the 386. FreeBSD is comparable to Linux in many ways, but deciding which one is "better" depends on your own needs and expectations. The only strong distinction we can make is that Linux is developed openly (where any volunteer can aid in the development process), while FreeBSD is developed within a closed team of programmers who maintain the system. Because of this, serious philosophical and design differences exist between the two projects. The goals of the two projects are entirely different: the goal of Linux is to develop a complete Unix system from scratch (and have a lot of fun in the process), and the goal of FreeBSD is in part to modify the existing BSD code for use on the x86.

NetBSD is another port of the BSD NET/2 distribution to a number of machines, including the x86. NetBSD has a slightly more open development structure and is comparable to FreeBSD in many respects. OpenBSD is still another version of BSD.

Another project of note is the HURD, an effort by the Free Software Foundation to develop and distribute a free version of Unix for many platforms. Contact the Free Software Foundation for more information about this project. At the time of this writing, HURD is still in early stages of development and interest in it has been mostly superseded by Linux.

Other inexpensive versions of Unix exist as well, such as Minix (an academic but useful Unix clone upon which the early development of Linux was based). Some of these implementations are of mostly academic interest, while others are full-fledged systems for real productivity. But many personal Unix users are moving to Linux.

Copyright © 2001 O'Reilly & Associates. All rights reserved.